草庐IT

C++ 类 class

全部标签

C++ 和 STL 进修类(class)

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭8年前。Improvethisquestion我非常了解C和C++。我对指针有很多详细的了解,并且精通指针算法,并且在我的大学时代也曾研究过Win32API和一点MFC。在我以前的工作中,我没有机会看到这些事情,而是在其他领域工作。现在我想要的是一个速成或进修类(class):

C++ 和 STL 进修类(class)

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭8年前。Improvethisquestion我非常了解C和C++。我对指针有很多详细的了解,并且精通指针算法,并且在我的大学时代也曾研究过Win32API和一点MFC。在我以前的工作中,我没有机会看到这些事情,而是在其他领域工作。现在我想要的是一个速成或进修类(class):

c++ - 当作为参数传递时,为什么不能在子类函数中访问 protected 父类(super class)成员?

我收到一个编译错误,对此我有些困惑。这是在VS2003上。错误C2248:“A::y”:无法访问在“A”类中声明的protected成员classA{public:A():x(0),y(0){}protected:intx;inty;};classB:publicA{public:B():A(),z(0){}B(constA&item):A(),z(1){x=item.y;}private:intz;};问题在于x=item.y;访问被指定为protected。为什么B类的构造函数不能访问A::y? 最佳答案 因为这个:classb

c++ - 当作为参数传递时,为什么不能在子类函数中访问 protected 父类(super class)成员?

我收到一个编译错误,对此我有些困惑。这是在VS2003上。错误C2248:“A::y”:无法访问在“A”类中声明的protected成员classA{public:A():x(0),y(0){}protected:intx;inty;};classB:publicA{public:B():A(),z(0){}B(constA&item):A(),z(1){x=item.y;}private:intz;};问题在于x=item.y;访问被指定为protected。为什么B类的构造函数不能访问A::y? 最佳答案 因为这个:classb

c++ - 如何在项目中实现良好的调试/日志记录功能

我正在做一个小项目,总共大约3-4人。我希望有一种可靠的方式来调试应用程序,例如通过日志。有没有关于如何构建它的好资源?我从项目经理那里听到很多关于良好的日志记录功能对每个项目都至关重要的信息,但我不知道该怎么做。 最佳答案 我找到了Dobb博士的这篇文章,LoggingInC++,对于这个主题非常有用。Dobb博士也有:AHighlyConfigurableLoggingFrameworkInC++如果你想要的只是一个简单的线程安全日志类,它总是输出到stderr那么你可以使用我写的这个类:#ifndef_LOGGER_HPP_#

c++ - 如何在项目中实现良好的调试/日志记录功能

我正在做一个小项目,总共大约3-4人。我希望有一种可靠的方式来调试应用程序,例如通过日志。有没有关于如何构建它的好资源?我从项目经理那里听到很多关于良好的日志记录功能对每个项目都至关重要的信息,但我不知道该怎么做。 最佳答案 我找到了Dobb博士的这篇文章,LoggingInC++,对于这个主题非常有用。Dobb博士也有:AHighlyConfigurableLoggingFrameworkInC++如果你想要的只是一个简单的线程安全日志类,它总是输出到stderr那么你可以使用我写的这个类:#ifndef_LOGGER_HPP_#

c++ - 位域 "In-class initialization"结果为 "error: lvalue required as left operand of assignment"

structbitfield{inti=0;//okintj:8=0;//error:lvaluerequiredasleftoperandofassignment};使用C++11“类内初始化”功能初始化位域的正确语法是什么? 最佳答案 这是作为C++标准的核心问题1341提出的,但在2015年10月被C++核心工作组拒绝为NAD(“不是缺陷”)-参见http://open-std.org/JTC1/SC22/WG21/docs/cwg_closed.html#1341 关于c++-位

c++ - 位域 "In-class initialization"结果为 "error: lvalue required as left operand of assignment"

structbitfield{inti=0;//okintj:8=0;//error:lvaluerequiredasleftoperandofassignment};使用C++11“类内初始化”功能初始化位域的正确语法是什么? 最佳答案 这是作为C++标准的核心问题1341提出的,但在2015年10月被C++核心工作组拒绝为NAD(“不是缺陷”)-参见http://open-std.org/JTC1/SC22/WG21/docs/cwg_closed.html#1341 关于c++-位

c++ - C++中变量定义中的'class'关键字

在有人问之前,是的,这是家庭作业的一部分,是的,我在问之前做了很多谷歌搜索。我花了最后一个小时在Google上用很多很多不同的关键字进行了密集搜索,但找不到任何东西。那么问题来了:Whatdoesthefollowingvariabledefinitionmean:classMyClass*myClass;?我尝试使用类似classMyClass*myClass=newMyClass();的代码并发现它只是创建了一个指向MyClass新实例的指针。那么,使用class前缀有什么好处呢?有什么区别吗?有人有相关资源的链接吗?我根本找不到任何东西(除了“类定义”之外,真的很难找到其他东西!

c++ - C++中变量定义中的'class'关键字

在有人问之前,是的,这是家庭作业的一部分,是的,我在问之前做了很多谷歌搜索。我花了最后一个小时在Google上用很多很多不同的关键字进行了密集搜索,但找不到任何东西。那么问题来了:Whatdoesthefollowingvariabledefinitionmean:classMyClass*myClass;?我尝试使用类似classMyClass*myClass=newMyClass();的代码并发现它只是创建了一个指向MyClass新实例的指针。那么,使用class前缀有什么好处呢?有什么区别吗?有人有相关资源的链接吗?我根本找不到任何东西(除了“类定义”之外,真的很难找到其他东西!